package de.pdbm.swt.aufgabe3;

import java.math.BigDecimal;
import java.util.Collections;
import java.util.Date;
import java.util.List;

/**
 * 
 * @author Hendrik Bammel & Marc von der Ohe
 * @version 1.0
 *
 */
public class BestellungGS implements Bestellung {
	private String id;
	private Date datum;
	private BigDecimal wert;
	private Mitarbeiter mitarbeiter;
	private List<Bestellposition> bestellpositionen;
	
	
	/**
	 * Konstruktor fuer id,datum,wert und mitarbeiter
	 *@param id ID
	 *@param datum Datum
	 *@param bestellpositionen Bestellposition
	 *@param mitarbeiter Mitarbeiter
	 */
	public BestellungGS(String id, Date datum/*, BigDecimal wert*/,
			Mitarbeiter mitarbeiter, List<Bestellposition> bestellpositionen) {
		this.bestellpositionen = bestellpositionen;
		this.id = id;
		this.datum = datum;
		this.wert = new BigDecimal(0);
		for (int i = 0; i < bestellpositionen.size(); i++) {
			this.wert = this.wert.add(bestellpositionen.get(i).getPreis());
		}
		this.mitarbeiter = mitarbeiter;
	}
	
	@Override
	public String getId() {
		return id;
	}

	@Override
	public Date getDatum() {
		return datum;
	}

	@Override
	public BigDecimal getWert() {
		return wert;
	}

	@Override
	public Mitarbeiter getMitarbeiter() {
		return mitarbeiter;
	}

	@Override
	public List<Bestellposition> getBestellpositionen() {
		return Collections.unmodifiableList(bestellpositionen);
	}

}
